package com.moss.common.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.moss.common.domain.BaseEntity;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class SysCheckEntity extends BaseEntity {

    private Long id;

    /** 采样id*/
    @NotNull(message = "采样信息错误")
    private String sampleId;

    /** 采样编号*/
    @NotNull(message = "采样编号不能为空")
    private String sampleNo;

    /** 检测编号*/
    @NotNull(message = "检测批次号不能为空")
    private String checkBatchNo;

    /** 受检企业id*/
    @NotNull(message = "企业id不能为空")
    private Long companyId;

    /** 受检企业名称*/
    @NotNull(message = "企业名称不能为空")
    private String companyName;

    /** 受检企业信用代码*/
    @NotNull(message = "企业信用代码不能为空")
    private String uniformCode;

    /** 商品id*/
    @NotNull(message = "商品id不能为空")
    private Long goodsId;

    /** 商品名称*/
    @NotNull(message = "商品名称不能为空")
    private String goodsName;

    /** 检测人*/
    @NotNull(message = "检测人不能为空")
    private String checker;

    /** 检测方法 1-酶抑制法 2-分光光度计 3-化学比色法 4-胶体金免疫法*/
    @NotNull(message = "检测方法不能为空")
    private Integer checkMethod;

    /** 检测类型，1-定性 2-定量*/
    @NotNull(message = "检测类型不能为空")
    private Integer checkType;

    /** 检测机构id*/
    @NotNull(message = "检测机构id不能为空")
    private Long checkOrgId;

    /** 检测编码*/
    @NotNull(message = "检测机构编码不能为空")
    private String checkOrgCode;

    /** 检测机构名称*/
    @NotNull(message = "检测机构名称不能为空")
    private String checkOrgName;

    @NotNull(message = "检测时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime checkTime;



    /** 检测结果 1-阴性（合格） 2-阳性（不合格）*/
    @NotNull(message = "检测结果不能为空")
    private Integer result;

    /** 备注*/
    private String remark;

    /** 检测项目合集*/
    private String itemName;

    /** 检测项目id合集*/
    private String itemId;

    private List<SysCheckItemEntity> itemList;


}
